VOLUME 23

STOIC (STACK ORIENTED INTERACTIVE COMPILER)

STOIC HAS THE CAPABILITIES OF A COMPILER, EDITOR, ASSEMBLER,
DEBUGGER, LOADER AND OPERATING SYSTEM.  IT APPEARS TO BE
CONCEPTUALLY SIMILAR TO FORTH IN THE USE OF AN EXTENSIBLE
VOCABULARY OF WORDS, WITH THE ABILITY TO "FORGET" DEFINITIONS
AND RE-DEFINE OR CREATE NEW WORDS IN TERMS OF PREVIOUSLY LEARNED
WORDS.

THE FIRST TWO MODULES, THE BOOTSTRAP AND KERNEL, WERE WRITTEN
IN ASSEMBLER MNEMONICS.  THEREAFTER THE MODULES WERE WRITTEN IN
STOIC WORDS.

THIS PACKAGE IS A STAND-ALONE SYSTEM AND DOES NOT REQUIRE A
RESIDENT FDOS, SUCH AS CP/M OR ISIS.

THE MATERIAL HAS BEEN SIGNIFICANTLY RE-ARRANGED AND REVISED SINCE
THE CATALOGS WERE PUBLISHED.  IN PARTICULAR THE KERNEL NOW INCORPORATES
WORD DEFINITIONS WHICH PERMIT DIRECT OPERATION THROUGH CP/M.
STOICCPM.DOC EXPLAINS THE PROCEDURE FOR BRINGING THE SYSTEM UP.  IT
WAS NECESSARY TO LEAVE CERTAIN FILES OFF BECAUSE OF LACK OF SPACE,
AND THESE CAN BE OBTAINED AS VOLUME 23B.  THE OVERFLOW VOLUMES WILL
ALSO BE ADDED TO A FUTURE REGULAR VOLUME, AND WERE SELECTED AS THE
LEAST NECESSARY FOR A CP/M USER.

FILES OF TYPE .STC ARE WRITTEN IN STOIC AND CAN BE LOADED AS DESCRIBED
IN THE VOLUME23.DOC

NUMBER	SIZE	NAME		COMMENTS

		CATALOG.23	CONTENTS OF CP/M GROUP VOL 23
		VOLUME23.DOC	COMMENTS ON THIS VOLUME, ADDITIONAL
				TO STOICCPM.DOC
		STOICCPM.DOC	COMMENTS ON CP/M STOIC. READ TOGETHER
				WITH THE VOLUME23.DOC
23A.1	13K	ASSEMBL.DOC	STOIC 8080 ASSEMBLER
23A.2	8K	DICT.DOC	STOIC DICTIONARY DEFINITIONS
23A.3	8K	EDIT.DOC	STOIC DISPLAY EDITOR DOC
23A.4	9K	FILES.DOC	STOIC FILE SYSTEM DOC
23A.5	5K	FLOATPNT.DOC	FLOATING POINT DOC
23A.6	2K	INTRRUPT.DOC	INTERRUPT HANDLER DOC
23A.7	38K	KERNEL.ASM	STOIC KERNEL WITH CP/M WORDS IN 8080
				ASSEMBLER
23A.8	24K	KERNEL.DOC	STOIC KERNEL DOC
23A.9	46K	STOIC.DOC	OVERVIEW OF STOIC CONCEPTS AND STRUCTURE
23A.10	23K	STOICBAS.STC	BASIC DEFINTIONS
23A.11	4K	STOICD/A.STC	GRAPHICS FOR D/A HARDWARE
23A.12	9K	STOICEDT.STC	EDITOR
23A.13	3K	STOICFFT.STC	FAST FOURIER TRANSFORM
23A.14	8K	STOICFLE.STC	FILE SYSTEM
23A.15	11K	STOICFLT.STC	FLOATING POINT PACKAGE
23A.16	5K	STOICINT.STC	4 BYTE INTEGER ADDITION
23A.17	3K	STOICITP.STC	INTERRUPT PACKAGE
23A.18	3K	STOICMIS.STC	MISCELLANEOUS WORDS
23A.19	2K	STOICSIN.STC	INTEGER SINE AND COSINE
23A.20	2K	STOICSRT.STC	SORT ROUTINE

OVERFLOW AVAILABLE AS VOLUME 23B. THIS MATERIAL IS NOT ESSENTIAL
FOR CP/M USE, AND WILL BE AVAILABLE ON A REGULAR VOLUME AT SOME
FUTURE DATE.

23B.1	1K	BOOT.ASM	STOIC BOOTSTRAP IN 8080 ASSEMBLER
23B.2	2K	BOOT.DOC	BOOT DOC
23B.3	6K	LOAD.DOC	INFORMATION ON LOADING STOIC AS A
				STAND-ALONE SYSTEM
23B.4	13K	STOIC.COM	CP/M STOIC CONSTRUCTED AS DESCRIBED
				IN VOLUME23.DOC



BECAUSE OF SPACE LIMITS, THE FILE STOIC.COM WAS NOT PLACED ON
THIS DISKETTE, AS SUGGESTED IN STOICCPM.DOC.  ALSO THE BOOTSTRAP
AND DOCUMENTATION ON THE BOOT AND SYSTEM LOADING WERE OMITTED.  THEY
CAN BE OBTAINED A VOLUME 23B, BUT IN ANY EVENT WILL APPEAR AS PART
OF A REGULARLY SCHEDULED FUTURE RELEASE.

;**************************************************

TO CONSTRUCT THE STOIC.COM, IT IS NECESSARY TO ASSEMBLE THE KERNEL
AND THEN HAVE IT LOAD THE BASIC DEFINITIONS.  AS EXPLAINED BELOW, THE
LOADING OF STOICBAS SHOULD BE PERFORMED FROM DRIVE A

MACHINE				YOU

A>				ASM KERNEL.AAZ
CP/M ASSEMBLER - VER 1.0

1A98
015H USE FACTOR
END OF ASSEMBLEY

A>
				LOAD KERNEL
SOURCE IS DISK

FIRST ADDRESS  0100
LAST  ADDRESS  18BD
BYTES READ     0EB6
RECORDS WRITTEN  30

A>
				KERNEL
0>
				'STOICBAS CPMLD
0>
				SZSTOIC
STOIC IS  50 DECIMAL PAGES LONG
				RETCPM
A>
				SAVE 50 STOIC.COM
A>

;**************************************************

NOTE THAT THE VALUE OF THE WORD "UNIT" IS DEFAULTED TO 0 IN
THE KERNEL.  THIS DEFINES THE DISK DRIVE FOR LOADING.  THE WORD
TO CHANGE THE DEFINITION IS "!" (THE "'S ARE NOT INCLUDED), WHICH
IS DEFINED IN STOICBAS.  TO CHANGE THE VALUE TYPE

		0 UNIT !

WHICH WILL ALLOW THE FUNCTION 

		STOICXXX CPMLD

TO LOAD THE STOICXXX.STC FILE FROM DISK DRIVE B
